package com.xbongbong.saas.enums;

import lombok.Getter;

import java.util.ArrayList;
import java.util.List;
import java.util.Objects;

/**
 * @author yanglei
 * @Description: 公海池提醒设置枚举
 * @date 222/4/19 15:24
 */
@Getter
public enum RemindTimeEnum {
    /**
     * 标准模式 - 客户退回提醒
     */
    CUSTOMER_BACK_REMIND_TIME(CompanyConfigEnum.PUBLIC_RULE_REMIND_TIME.getName(), 1,CompanyConfigEnum.PUBLIC_RULE_REMIND_TIME.getAlias()),
    /**
     * 标准模式 - 线索退回提醒
     */
    CLUE_BACK_REMIND_TIME(CompanyConfigEnum.CLUE_PUBLIC_RULE_REMIND_TIME.getName(), 2,CompanyConfigEnum.CLUE_PUBLIC_RULE_REMIND_TIME.getAlias()),
    /**
     * 高级模式-客户退回提醒
     */
    CUSTOMER_SENIOR_BACK_REMIND_TIME(CompanyConfigEnum.PUBLIC_RULE_CUSTOMER_SENIOR_REMIND_TIME.getName(), 3,CompanyConfigEnum.PUBLIC_RULE_CUSTOMER_SENIOR_REMIND_TIME.getAlias()),
    /**
     * 高级模式-客户转移提醒
     */
    CUSTOMER_SENIOR_TRANSFER_REMIND_TIME(CompanyConfigEnum.TRANSFER_RULE_CUSTOMER_SENIOR_REMIND_TIME.getName(), 4,CompanyConfigEnum.TRANSFER_RULE_CUSTOMER_SENIOR_REMIND_TIME.getAlias()),
    /**
     * 高级模式-线索退回提醒
     */
    CLUE_SENIOR_BACK_REMIND_TIME(CompanyConfigEnum.PUBLIC_RULE_CLUE_SENIOR_REMIND_TIME.getName(), 5,CompanyConfigEnum.PUBLIC_RULE_CLUE_SENIOR_REMIND_TIME.getAlias()),
    /**
     * 高级模式-线索转移提醒
     */
    CLUE_SENIOR_TRANSFER_REMIND_TIME(CompanyConfigEnum.TRANSFER_RULE_CLUE_SENIOR_REMIND_TIME.getName(),6,CompanyConfigEnum.TRANSFER_RULE_CLUE_SENIOR_REMIND_TIME.getAlias()),;

    /**
     * 枚举信息--中文名称
     */
    private final Integer code;

    /**
     * 枚举值 --
     */
    private final String name;
    /**
     * 枚举信息
     */
    private final String alias;




    /**
     * 构造一个<code>SubModuleEnum</code>枚举对象
     *
     * @param name 枚举名
     * @param code  枚举值
     */
    RemindTimeEnum(String name, Integer code,String alias) {
        this.name = name;
        this.code = code;
        this.alias = alias;
    }

    public static String getAliasByCode(Integer code) {
        for (RemindTimeEnum cacheCode : values()) {
            if (Objects.equals(code, cacheCode.getCode())) {
                return cacheCode.getAlias();
            }
        }
        return "";
    }
    /**
     * 获取全部枚举
     *
     * @return List<PublicCustomerRuleEnum>
     */
    public static List<RemindTimeEnum> getAllEnum() {
        List<RemindTimeEnum> list = new ArrayList<>();
        for (RemindTimeEnum cache : values()) {
            list.add(cache);
        }
        return list;
    }


}
